Skip to content


Overview of the ABINIT tutorials.

These tutorials are aimed at teaching the use of ABINIT, in the UNIX/Linux OS and its variants (MacOSX, AIX …). They might be used for other operating systems, but the commands have to be adapted.

At present, nearly forty tutorials are available. Each of them is at most two hours of student work. Tutorials 1-4 cover the basics, other lectures are more specialized. There are dependencies between tutorials. The following schema should help you to understand these dependencies.

Schema 1

The “base” tutorials are presented at the top, in orange. The blocks in red represents additional tutorials related to ground-state features. Response-function features are explained in the tutorials in the light brown blocks. Finally, the Many-Body Perturbation Theory capabilities are demonstrated in the tutorials belonging to the dark brown blocks. The right-hand side blocks gather the tutorials related to the parallelism inside ABINIT.

Visualisation tools are NOT covered in the ABINIT tutorials. Powerful visualisation procedures have been developed in the Abipy context, relying on matplotlib. See the README of Abipy and the Abipy tutorials.

Before following the tutorials, you should have read the new user’s guide, as well as the pages 1045-1058 of Rev. Mod. Phys. 64, 1045 (1992). If you have more time, you should browse through the Chaps. 1 to 13, and appendices L and M of the book this book by R. M. Martin. The latter reference is a must if you have not yet used another electronic structure code or a Quantum Chemistry package.

After the tutorial, you might find it useful to learn about the test cases contained in the subdirectories of ~abinit/tests/, e.g. the directories fast, v1, v2, … , that provide many example input files. You should have a look at the README files of these directories.

Tutorials on basic concepts

The tutorials 1-4 present the basic concepts, and form a global entity: you should not skip any of these.

  • The tutorial 1 deals with the H2 molecule: get the total energy, the electronic energies, the charge density, the bond length, the atomisation energy

  • The tutorial 2 deals again with the H2 molecule: convergence studies, LDA versus GGA

  • The tutorial 3 deals with crystalline silicon (an insulator): the definition of a k-point grid, the smearing of the cut-off energy, the computation of a band structure, and again, convergence studies …

  • The tutorial 4 deals with crystalline aluminum (a metal), and its surface: occupation numbers, smearing the Fermi-Dirac distribution, the surface energy, and again, convergence studies …

Other tutorials present more specialized topics.

Miscellaneous advanced tutorials

There is a group of tutorials that can be started without any other prerequisite than the tutorials 1 to 4, and that you can do in any order (there are some exceptions, though):

There is an additional group of tutorials on density-functional perturbation theory (phonons, optics, dielectric constant, electron-phonon interaction, elastic response, non-linear optics, Raman coefficients, piezoelectricity …), for which some common additional information are needed:

  • The tutorial DFPT 1 (RF1 - response function 1) presents the basics of DFPT within ABINIT. The example given is the study of dynamical and dielectric properties of AlAs (an insulator): phonons at Gamma, dielectric constant, Born effective charges, LO-TO splitting, phonons in the whole Brillouin zone. The creation of the “Derivative Data Base” (DDB) is presented.

The additional information given by tutorial DFPT1 opens the door to:

  • The tutorial DFPT 2 (RF2 - response function 2) presents the analysis of the DDBs that have been introduced in the preceeding tutorial RF1. The computation of the interatomic forces and the computation of thermodynamical properties is an outcome of this tutorial.

  • The tutorial on Optic, the utility that allows to obtain the frequency dependent linear optical dielectric function and the frequency dependent second order nonlinear optical susceptibility, in the simple “Sum-Over-State” approximation.

The additional information given by tutorials DFPT1 and DFPT2 (Optic not needed) opens the door to a group of tutorials that can be followed independently of each other:

  • The tutorial on the electron-phonon interaction presents the use of the utility MRGKK and ANADDB to examine the electron-phonon interaction and the subsequent calculation of superconductivity temperature (for bulk systems).

  • The tutorial on temperature dependence of the electronic structure presents the computation of the temperature dependence of the electronic structure, the zero-point motion effect, the lifetime/broadening of eigenenergies.

  • The tutorial on the elastic properties presents the computation with respect to the strain perturbation and its responses: elastic constants, piezoelectricity.

  • The tutorial on static non-linear properties presents the computation of responses beyond the linear order, within Density-Functional Perturbation Theory (beyond the simple Sum-Over-State approximation): Raman scattering efficiencies (non-resonant case), non-linear electronic susceptibility, electro-optic effect. Comparison with the finite field technique (combining DFPT calculatons with finite difference calculations), is also provided.

After following tutorials DFPT1, DFPT2, Elastic and NLO, the tutorials on MULTIBINIT might be followed:

  • The first tutorial on MULTIBINIT presents the basic use of the MULTIBINIT application, how to build a harmonic model by using a second-principles approach for lattice dynamics simulations based on atomic potentials fitted on first-principles calculations.

There is another additional group of tutorials on many-body perturbation theory (GW approximation, Bethe-Salpeter equation), to be done sequentially):

  • The first tutorial on GW (GW1) deals with the computation of the quasi-particle band gap of Silicon (semiconductor), in the GW approximation (much better than the Kohn-Sham LDA band structure), with a plasmon-pole model.

  • The second tutorial on GW (GW2) deals with the computation of the quasi-particle band structure of Aluminum, in the GW approximation (so, much better than the Kohn-Sham LDA band structure) without using the plasmon-pole model.

  • The tutorial on the Bethe-Salpeter Equation (BSE) deals with the computation of the macroscopic dielectric function of Silicon within the Bethe-Salpeter equation.

Tutorials on parallelism

Concerning parallelism, there is another set of specialized tutorials. For each of these tutorials, you are supposed to be familiarized with the corresponding tutorial for the sequential calculation.


Note that not all features of ABINIT are covered by these tutorials. For a complete feature list, please see the Topics page. For examples on how to use these features, please see the ~abinit/tests/* directories and their accompanying README files.

To learn how to compile the code from source, please consult this guide: